System and method for establishing long distance call connections using a desktop application

ABSTRACT

A system and method for establishing a long distance call connection between call stations over the PSTN initiates a call connection request from a desktop application to operate locally on a user workstation. The desktop application communicates call connection information to a long distance service provider server without requiring a web browser when a request is initiated by a user. Call connection information is processed by the long distance service provider server and an information packet is sent to a call controller, to effect a call connection over the PSTN via a TDM toll switch. A communication connection with the long distance service provider server is automatically established by the desktop application when request is initiated, and a subsequently released when the call connection request is received and processed by the long distance service provider.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. Patent application havingSer. No. 09/642,671 filed on Aug. 22, 2000.

FIELD OF THE INVENTION

This invention relates, in general, to a system and method forestablishing long distance call connections from a computer workstationusing a packet network, such as the Internet. In particular, theinvention relates to a system and method for establishing a longdistance call connection between designated call stations using adesktop application residing on a computer workstation and adapted tocommunicate with a long distance service provider server.

BACKGROUND OF THE INVENTION

Traditional modes of communication have been transformed in recent yearswith the rapid growth of Internet-based technologies. However, telephonecommunication is still generally considered the most effective mode ofcommunicating because it permits parties to conduct two-way high qualityvoice communication in real time.

In recent years, several systems have been invented for using theInternet to establish telephone connections. Those systems use WorldwideWeb (WWW) technology to permit the setup of PSTN calls. A customer logson to a WWW server and initiates a call by specifying an origination anda termination number which are passed to a PSTN switch that initiatestwo calls to the respective numbers and bridges the calls together.Providers of such services are typically able to offer discount longdistance rates because they are not obliged to maintain a great deal ofinfrastructure in order to offer the service.

One system designed to provide long distance telephone connections usingthe Internet is described in Canadian Patent Application Serial No.2,248,660 to Wiener et al. which was laid open to public inspection onSep. 25, 1997. It describes a system for establishing atelecommunications call between two parties over the PSTN, using theInternet. A customer can access a web-enabled directory service from acomputer using the Internet, to retrieve directory information. Thedirectory service is hosted on a web server and includes a directorywebsite, a directory application accessible via the website anddirectory database(s). The web server provides interfaces to the useraccessing the website, and implements HTTP protocol to serve directoryrequests. Once a desired party is located in the directory, atelecommunications call can be requested with that party by selectingthe party information. A message including the telecommunication addressfor the selected party, as well as the telecommunication address for thecustomer, is sent via the Internet to a control platform. The controlplatform provides control signals to a switch located on the PSTN basedon the information sent in the message, causing the PSTN to dial therespective addresses identified. In this manner, a telephone connectionmay be effected between parties residing at the identified addresses.The control platform also uses the data contained in the message toforward charging and billing information to a charging and billingmodule.

Another system which employs the Internet to establish long distancetelephone call connections through the PSTN is described in copendingCanadian Patent Application Serial No. 2,198,024 to Lang et al., whichwas laid open for public inspection on Aug. 19, 1998. A registered usercan log on to a long distance service provider's website to initiate along distance call request. Call initiation is effected by completing acall request form by providing appropriate calling information. Thecalling information is forwarded in a call request packet to a serveroperated by the long distance service provider. The long distanceservice provider server extracts the calling information from the callrequest packet and forwards an encrypted packet to a call connectioncontrol computer for processing. The call connection control computerdecrypts the packet and uses the calling information to instruct a tollswitch to set up the call.

A disadvantage of such systems for providing long distance telephoneservice using the Internet is that the services can only be accessedusing a web browser. They are therefore subject to the speed andefficiency of the WWW, due to the repeated transfer of information overthe Internet required to effect each call connection request. Inaddition, such systems require substantially continuous access to theWWW if they are to be used for high-volume calling.

In a business environment where employees routinely place long distancecalls for business reasons, the reduced rates offered by anInternet-based long distance service provider are appealing. However,given the volume of calls, it can be extremely inefficient to employ asystem requiring use of a web browser to effect each call connectionrequest. Furthermore, when a web browser is available to employees, theemployees may be inclined to use the web browser for other than businesspurposes. Consequently, the systems taught by the known prior art arenot optimally adapted for use in an office environment.

There therefore exists a need for a system that can harness the power ofa packet network, such as the Internet, to establish long distancetelephone calls in an efficient, convenient and cost effective mannerwithout requiring the use of a web browser.

SUMMARY OF THE INVENTION

It is an object of the present invention to provide a system and methodfor establishing long distance call connections using a packet networkin a time effective manner.

It is another object of the present invention to provide a system andmethod for establishing long distance call connections using the packetnetwork which includes a pre-configured user workstation capable ofautomatically connecting to a long distance service provider server andidentifying a user associated with that workstation.

It is yet another object of the invention to provide a system and methodfor establishing long distance call connections using the packet networkthat does not require a web browser.

It is yet another object of the invention to provide a system and methodfor establishing long distance call connections using the packet networkwhich is adapted to control a user's calling activity.

It is a further object of the invention to provide a workstationconfigured with a desktop application adapted to send a call connectionrequest message to a long distance service provider server to establisha long distance call connection.

The invention therefore provides a method of completing a callconnection over the public switched telephone network (PSTN) from adesktop application residing on a computer workstation. The methodcomprises a first step of accepting call request information input by auser using an interface provided by the desktop application. A callconnection request message is then formulated based on the informationaccepted from the user, and the call connection request message isforwarded over a connection established between the desktop applicationand a long distance service provider server to effect call completion.

The invention also provides a method of completing a call connectionover the public switched telephone network (PSTN) from a desktopapplication operating locally on a computer workstation and having acommunication connection with a long distance service provider server.The method comprises a first step of receiving a call connection requestmessage at the long distance service provider server, sent from saiddesktop application. The user identification information contained insaid message is verified and the call connection request message isprocessed to enable a call connection based on call station informationcontained in the message. A notification message is then sent to thedesktop application, to notify the desktop application that said callconnection is in progress.

The invention further provides a system for a establishing a longdistance call connection between call stations over the PSTN. The systemcomprises a long distance service provider (LDSP) server adapted toestablish a call connection between at least two call stations inresponse to a call connection request message sent from a registereduser. The system further comprises a desktop application adapted tooperate locally on a user workstation to accept input from theregistered user defining parameters for establishing the callconnection, and communicate the parameters to the long distance serviceprovider server in the form of a call connection request message. Thesystem also comprises a call controller adapted to receive a callconnection information packet from the LDSP server, based on the callconnection request message and instruct a time division multiplexed(TDM) switch to establish a call connection between the at least twocall stations.

The invention further provides a desktop application adapted to operatelocally on a user workstation and establish a communication connectionwith a long distance service provider (LDSP) server. The desktopapplication comprises means for accepting call connection informationinput by a user; means for formulating a call connection request messagebased on said call connection information; means for determining if anexisting communication connection is available through a packet networkto the LDSP server; means for establishing a communication connection ifan existing communication connection is not available; and means forsending the call connection request message to the LDSP server.

In accordance with the present invention, a user can initiate a longdistance call connection between call stations from a desktopapplication that resides and operates locally on a user workstation. Forthe purpose of the present invention, a desktop application that residesand operates locally will be understood to mean a stand-alone desktopapplication residing on a user workstation that is capable of operatingwithout the functionality of a web browser application. A desktopapplication may be configured for a specific, repeat user, or configuredwith a mandatory user verification procedure. If the desktop applicationis configured for a repeat user, user registration information isautomatically sent to a long distance service provider server with eachcall connection request. In this manner, a user is not required to enteruser information each time a call connection is requested. The desktopapplication may also be configured to automatically establish aconnection to a long distance service provider server when a callconnection request is effected from the desktop application. A timesaving is thus realized by the user, because the locally operateddesktop application automatically performs connection procedures andlogon messaging. The connection established with the long distanceservice provider server may be any packet network connection, such as astandard Internet connection. The desktop application enables aworkstation to effect a long distance call connection via a longdistance service provider server (LDSP) without the use of a webbrowser. Consequently, the desktop application in accordance with theinvention may be configured to permit a user to make long distance callswithout providing the user with the capability for accessing the WWW.

The desktop application of the present invention preferably includescall request and directory features, and may be enhanced withweb-enabled features provided via a service provider website if the userworkstation is equipped with a web browser application. Additional longdistance call connection features may be enabled via the web browser inconjunction with the features provided by the desktop application of thepresent invention. As such, additional features are accessible via auser workstation equipped with a web browser application, withoutlimiting the speed and efficiency of the desktop application.

A system of the present invention provides a desktop applicationconfigured to contact an LDSP server when a call connection isrequested. The desktop application preferably includes only modulesrequired to enable a call connection request to the LDSP server.Accordingly, the desktop application of the present invention functionsefficiently on a workstation to effect a long distance call requestbetween designated parties having call station addresses.

The system of the present invention is capable of processing callconnection requests more quickly than web-enabled systems, as a directconnection between a user's workstation and an LDSP server isestablished to initiate a call connection request. Further, if adedicated packet network connection is not available when a request isinitiated, the desktop application may be configured to automaticallyestablish an appropriate connection, thus eliminating the need for auser to initiate a dial-up or logon procedure. In the case where aworkstation is supported on an LAN or a digital subscriber line (DSL)link that supports a dedicated Internet connection, a call connectionrequest may be enabled by connecting to the LDSP server via thededicated connection and automatically identifying a user request usingregistration information stored by the application. The desktopapplication of the present invention may be configured to automaticallyprovide user registration information to an LDSP server irrespective ofthe type of connection established.

Further, if a user does not require the added functionality ofweb-enabled features provided by a service provider web server, aworkstation supporting the application of the present invention ispreferably configured to connect with the LDSP server via the Internetwithout a web browser. A user employing the workstation is thereforeinhibited from accessing the WWW. Accordingly, the present inventionprovides an efficient and controlled system for establishing longdistance call connections over the PSTN via the packet network.

BRIEF DESCRIPTION OF THE DRAWINGS

Further features and advantages of the present invention will becomeapparent from the following detailed description, taken in combinationwith the appended drawings, in which:

FIG. 1 is a schematic diagram of the arrangement of components in oneexemplary system in accordance with the present invention;

FIG. 2 is an illustration of a graphic user interface (GUI) of a desktopapplication in accordance with the present invention;

FIG. 3 is a schematic diagram of the communication pathways used bycomponents in a system in accordance with the present invention;

FIG. 4 a is a flow chart illustrating an information processingprocedure performed by a desktop application in accordance with thepresent invention;

FIG. 4 b is a flow chart illustrating an information processingprocedure performed by a long distance service provider serverapplication in accordance with the present invention;

FIG. 4 c is a flow chart illustrating another information processingprocedure performed by a desktop application in accordance with thepresent invention;

FIG. 5 a is a flow chart illustrating a directory update procedureperformed by a desktop application in accordance with the presentinvention;

FIG. 5 b is a flow chart illustrating a directory update procedureperformed by a long distance service provider server application inaccordance with the present invention; and

FIG. 5 c is flow chart illustrating another directory update procedureperformed by a desktop application in accordance with the presentinvention.

It will be noted that throughout the appended drawings, like featuresare identified by like reference numerals.

DETAILED DESCRIPTION OF THE INVENTION

The present invention provides a system for establishing long distancecall connections via a data packet network. The long distance callconnections are established between call stations connected to thepublic switched telephone network (PSTN) by a long distance serviceprovider (LDSP) server that receives instructions via the data packetnetwork from a desktop application that resides and operates locally ona user workstation and does not require an Internet connection or webbrowser functionality.

FIG. 1 shows an overview of an exemplary system for completing a longdistance call connection in accordance with one embodiment of thepresent invention. A call connection between call stations 10, 20,telephones for example, may be initiated by a user, from apre-configured computer workstation 30, 31. Workstations 30, 31 areconfigured with a desktop application 40 adapted to connect with an LDSPserver 60, via a packet network 100, such as the Internet, X.25,asynchronous transfer mode (ATM) or the like. In the embodiment shown inFIG. 1, workstations 30, 31 are connected to a LAN 35, which has accessto the packet network 100. A plurality of workstations 30, 31 may beconfigured to connect with LDSP server 60 to initiate long distance callconnections over the PSTN 200. As evident to one skilled in the art, asingle LAN 35, or a wide area network (WAN) 39, supportingcommunications between LANs 35 and 37, may be configured to provideworkstations 30, 31 with access to LDSP server 60. Alternatively, usersmay access the LDSP server 60 from stand-alone workstations. Thus, acompany, for example, may register with the LDSP to provide designatedemployees with facilities for making long distance calls from thepre-configured workstations 30, 31. In addition, the LDSP server 60 maybe configured to identify specific users associated with a givenorganization, and check a corresponding rule base specifying the requestlimitations of each user each time a call connection request is made.For example, a rule base may restrict a specific user's access to callconnection requests designating a call station having a particular areacode, or country code. Such restrictions can be used to limit a user'sability to establish call connections to those areas most often calledfor business purposes. A time or charge control feature may also bebuilt using the rule base on LDSP server 60 for tracking the longdistance charges incurred by a user. When a predetermined set amount oflong distance charges have been incurred, a notification message may besent to an administrator advising of the activity of that user. Withsuch a control in place, an indication of unusually high levels ofactivity can be provided. In this manner, client side control featuresmay be built in to the system of the present invention, to control andtrack the activity of a plurality of selected subscribers.

When a user registers with the long distance service provider for theservice enabled by the present invention, a call completion application40 is installed on computer workstations 30, 31 for use by authorizedusers, also referred to as “calling parties”. Application 40 isconfigured at each workstation 30, 31 to contact the LDSP server 60 whena call connection between two call stations, 10, 20, for example, isdesired. Contact with LDSP server 60 may be made via an existing packetnetwork connection, or the application 40 may automatically establish apacket network connection for this purpose. Call completion application40 provides call request capabilities that permit an application user toquickly and conveniently launch a call connection request from aconfigured workstation 30, 31. Access to the LDSP 60 may be achievedthrough any known type of packet network connection, and in the instancewhere computer workstations 30, 31 are supported by a local area network(LAN) 35, the packet network connection is commonly a dedicated Internetconnection.

It is a known practice for a long distance service provider (LDSP) toprovide registered users with access to PSTN toll services via theInternet. In doing so, a call controller 70 is interfaced by a signalingline with a PSTN toll switch 80 and controls connections made throughthe PSTN by the toll switch 80. The PSTN toll switch 80 is typically atime division multiplexed (TDM) toll switch. In response to a callconnection request message, a call connection information packet isdispatched by LDSP server 60 to a call controller 70. Call controller 70deciphers the call connection information packet and instructs tollswitch 80 to initiate a first call to the calling party telephone 10served by line 84. The call controller 70 then instructs the toll switch80 to establish a second call to the called party telephone 20 served byline 82. If the first call is answered, the call controller 70 proceedsto instruct the toll switch 80 to establish a call connection betweenthe first and second calls. It will be understood by those skilled inthe art that details such as the PSTN Common Channel Signaling Network(typically an SS7 not signaling network) are not illustrated for thepurpose of clarity. It will be further understood by those skilled inthe art that while only one LDSP server 60 and one call controller 70are illustrated, a plurality of such servers and call controllers may beutilized for establishing long distance voice communication betweenparties.

As shown in FIG. 1, a calling party located at a pre-configuredworkstations 30, 31 may use call completion application 40 to inputinformation required to identify the parties between which a longdistance call connection is to be established. A dial feature ofapplication 40 may be used to initiate a call connection request basedon the information input.

When a call connection is initiated using desktop application 40, thedesktop application 40 formulates a call connection request message, andthe necessary communication connections between workstation 30, 31 andthe LDSP server 60 are automatically established. A call connectionrequest message preferably includes user identification information sentvia the communication connection with the LDSP server 60. If so, a userverification procedure is conducted, and if the user identificationinformation is determined to be valid a message authorizing theapplication 40 to proceed with the call connection request is returnedto the desktop application 40 via the communication connection. Inresponse to this message, the desktop application 40 forwards callconnection request information to the LDSP server 60. At the LDSP server60, information packets contained in the call connection request messageare extracted and processed by various components of the LDSP server 60.As result of such processing, a call connection information packet isdispatched to the call controller 70 and the toll switch 80 isinstructed to connect the designated call stations. Communicationconnections between the LDSP server 60 and the call controller 70 may beestablished according to a number of methods known in the art. Forexample, a direct connection 62 such as an Ethernet connection maysupport communication between LDSP server 60 and call controller 70. Inthis case, TDM toll switch 80 may also support an Ethernet connection.Alternatively, the packet network 100 may be used to connect LDSP server60 and the call controller 70 for transmission of call connectioninformation packets therebetween.

Desktop application 40 provides a graphical user interface (GUI) havingbuilt-in functionality for establishing call connections between callstations 10, 20 over the PSTN without the use of an Internet browser.The GUI 50, illustrated in FIG. 2, provides a calling party withconvenient and efficient means for initiating a call connection request.In particular, desktop application 40 eliminates the requirement tologon to an LDSP website and download a call connection webpage eachtime a call connection is desired. A calling party can input thenecessary details pertaining to a called party with whom a callconnection is desired using the GUI 50, and enable a call connectionrequest by selecting a dial feature, for example a dial icon 58. Desktopapplication 40 may be configured to include stored user identificationinformation which is automatically sent to the LDSP server 60 when acall connection request is initiated.

As shown in FIG. 2, GUI 50 is adapted to accept call station informationin call station fields 22, 24 for identifying the call stations betweenwhich a call connection is desired. Typically, a user will be party tothe call connection requested, and call station information pertainingto a call station in close proximity to a user's workstation will beprovided in a field for entering the number from which the call isplaced, as shown at 22. GUI 50 may include various icons for enablingfeatures of application 40, such as the dial icon 58. The GUI 50 ofapplication 40 may be configured in any format adapted to provide a userwith the features and functionality of the present invention. Thefeatures of application 40 may be provided in any number of userinterfaces, and may be in any suitable form known in the art of GUIdesign. For example, features of application 40 may be provided inpull-down menu format or as icons within a user interface.

Application 40 may include a directory for storing call requestinformation. This information may be stored in any number of formats,for example as called station numbers or called party names, as shown incall station fields 22 and 24, respectively. If information pertainingto a desired called party is stored in a directory file of application40, the required call station information may be selected for insertion:into a call station field 22, 24 of GUI 50. A called party directory maybe provided as a pull down menu in the proximity of call station fields22, 24, or in any other suitable format known in the art. In addition,the GUI 50 may be configured to include default calling stationinformation in a calling station field 22 corresponding to a user's callstation, when a user is routinely requesting call connections, involvinghis or her designated call station. Alternatively, call stationinformation may be manually entered from a corresponding workstation 30,31 and a call connection request or “dial” feature 58 selected to enablea call connection request. Further, call station information pertaininguser's most frequently requested call to a stations may be programmedinto a speed dial directory 52 and quickly accessed from GUI 50 forenabling an instant call connection request.

Once the appropriate call station information is supplied in callstation fields 22, 24 of application 40, dial feature 58 may beselected, to initiate a call connection request. Dial feature 58initiates the procedure for establishing a long distance call connectionbetween the designated call stations, as will be discussed in moredetail below. In essence, selection of the dial feature 58 promptsdesktop application 40 to formulate a call connection request messagebased on the specified information input to establish a communicationconnection with the LDSP server 60.

GUI 50 preferably includes an information display window 26 fordisplaying status information associated with a call connection request.Information display window 26 may provide a medium for displaying anotification message received from a LDSP server 60 via communicationconnections, indicating the status of the call connection request at theserver side. A tool bar 63 for initiating additional features providedby application 40 may also be enabled in the GUI 50. The featuresdisplayed in tool bar 63, as well as most features available in GUI 50,may be inactivated using configuration options provided by application40. Alternatively, feature icons displayed in GUI 50 may be inactivatedby default where the systems of a workstation supporting desktopapplication 40 are not compatible or complete. For example, a featuredisplayed in GUI 50 may be a web-enabled feature, supported by the LDSPweb server 60 (FIG. 1). If a workstation supporting desktop application40 is not equipped with a web browser adapted for connection to the LDSPweb server, then the web-enabled features of GUI 50 will not beaccessible to that user, from that particular workstation.

Tool bar 63 may provide access to web-enabled features of the presentinvention compatible with desktop application 40. These web-enabledfeatures are preferably supported by a corresponding LDSP web server 65,and may be accessed by a registered user from any workstation havingInternet access and a web browser application. When an icon is selectedfrom tool bar 63, a compatible web-browser is launched and a webpage isdownloaded to the user workstation. The webpage may include a form intowhich the user inputs information required to enable the selectedfeature. The completed form is then uploaded from the user workstationto the web server and the web-enabled feature is activated. Eachweb-enabled form may require a user to input user identificationinformation to ensure that the user is authorized to initiate therequested web-enabled feature.

The web-enabled features preferably support complex features and datapresentation capabilities of the present invention. For example,web-enabled features may include conference calling, country code andtime zone information display, long distance rate searches, and accountediting capabilities. These web-enabled features are made available viathe LDSP web server 65 to registered users. Other commonly usedfeatures, such as directory files and call connection requests, arelocally available to a user workstation 30, 31, for fast and easyaccess. As a result, local system resource usage is kept to a minimumand call connection requests can be conveniently and quickly initiatedfrom a user's workstation.

In addition, a user may be required to input web server useridentification to gain access to the respective web-enabled features ofthe present invention. As a result, web-enabled features of the presentinvention may be disabled for any given user.

User identification information can be stored by desktop application 40and sent to an LDSP server 60 with each call connection request if thedesktop application 40 is pre-configured to store logon information forconnecting to LDSP server 60. For example, in order to use the system ofthe present invention to establish long distance call connections, acalling party must be a registered user recognized by the LDSP server60. User specific identification information sent to LDSP server 60 witheach call connection request message identifies the user and permits theLDSP server 60 to validate the incoming request, determine whether anassociated user account is in good standing, and process and bill thetransaction accordingly. Consequently, each registered user is assignedunique user identification information that is stored on LDSP server 60and used to verify each call connection request. Each time a registereduser initiates a call connection request, the user identificationinformation is checked to determine whether the user is still in goodstanding before the call connection request is processed. In thismanner, user access to the LDSP server 60 can be denied if an account isdetermined to be overdue, for example.

FIG. 3 provides a detailed overview of the system in accordance with apreferred embodiment of the present invention. As illustrated, thesystem of the present invention may be described as a threetier systemutilizing client-side and provider-side components for accessingindependent service platforms. Starting from the bottom of FIG. 3, onthe client side, a client workstation 30, 31 is provided with a callcompletion application 40, and may also include a web browserapplication 45. On the provider side, an LDSP server 60 includes atleast one server partitioned to provide a call server component 68, aweb server component 65, a transaction server component 75 and a userdatabase 250. The provider side of the present system also includes acall controller 70 adapted to a control a time division multiplexed(TDM) toll switch 80, and a credit verification server component 280 forprocessing credit card transactions for registered users. For thepurpose of clarity, each component of the provider side of the systemhas been illustrated as a separate server, however, it is possible for asingle server to be partitioned to include one or more of the componentsillustrated to be part of the provider side of this system. In addition,the components of the provider side may be connected to an Ethernet, orotherwise interconnected using protocols and apparatus known in the art.Service platforms accessed by the system include the PSTN 200 forenabling call connections between designated call stations 10, 20 andcommunication connections with other systems supported thereon. Othersuch service platforms may include telecom carrier 350 and a credit cardprocessing centre 300 for processing credit card transactions. Forexample, the LDSP server 60 of the present invention may connect with acredit card processing centre 300, via a credit verification server 280for supporting online credit card billing. The service components arenot part of the present invention, but are described in connection withthe present system for the purpose of clarity.

The call server component 68 is configured to communicate with the callcontroller 70, and web server component 65, when applicable. The callserver 68 is not necessarily configured to directly process client sidecall connection requests. By providing a transaction server 75 on theprovider side, an interpretation step can be handled by the transactionserver 75 before the request is passed to the call server 68 forprocessing. As shown in FIG. 3, the desktop application 40 is configuredto generate call connection request messages at a user workstation 30,31 and send those messages to the LDSP server 60. Each call connectionrequest message is sent from desktop application 40 to transactionserver 75 where it is formatted for processing by call server 68. Theprocessing steps performed by call server 68 preferably include steps ofuser verification, billing transactions which may include credit cardauthorization, and call connection. Messages exchanged between desktopapplication 40 and transaction server 75 may comply with any protocolcompatible with desktop application 40 and transaction server 75, forexample, an object oriented packet messaging protocol. In accordancewith a preferred embodiment of the invention, transaction server 75 is aMicrosoft transaction server as provided by Microsoft Corp.®, andapplication 40 is configured to generate call connection requestmessages utilizing a Distributed Component Object Model (DCOM) protocol.In accordance with the preferred embodiment, a new DCOM object iscreated each time a call connection request message is formulated byapplication 40, and sent to transaction server 75, where it is convertedinto a suitable format for processing by call server 68. Communicationsprotocols used for messaging between transaction server 75 and callserver 68, as well as, between web server 65 and call server 68 are amatter of design choice dependent principally on implementation details,as will be well understood by those skilled in the art.

FIG. 4 a illustrates the principal steps involved in establishing atypical long distance call connection from the workstation 30 usingapplication 40. A calling party, who is a registered user of the system,prepares a call connection request at step 110 using desktop application40 by inputting call request information. As mentioned above, desktopapplication 40 preferably includes call connection features such as calldirectory and speed dial functions. Using these features, a user mayquickly and conveniently specify details required to request a callconnection over the PSTN between call stations. Alternatively, a usermay input the required call station information in the appropriatefields of the GUI 50. When the information has been input, a callconnection can be initiated from application 40, for example, byselecting the dial icon 58 (FIG. 2) available on GUI 50 (step 115). Acall connection request message is formulated by desktop application 40when the call request is initiated in step 115. At step 120, desktopapplication 40 determines whether a compulsory logon feature is enabled.If compulsory logon is enabled, a user is required to enter userspecific logon information each time a call connection request isinitiated (step 125) in order to control unauthorized use or enforceuser-specific billing. The logon information input at step 125 isverified to ensure that the user has authorization to utilize desktopapplication 40. Alternatively, compulsory logon may be disabled toimprove convenience and efficiency.

At step 130, desktop application 40 determines if a packet networkconnection is available for establishing a connection with LDSP server60. If the packet network connection is located, application 40 proceedsto establish a communications connection with the LDSP server 60 via thepacket network (step 140). A communications connection may beestablished using any suitable protocol for providing a messagingservice workstations 30, 31 running desktop application 40 and the LDSPserver 60. For example, Distributed Component Object Model (DCOM) may beemployed to enable messaging between a workstation 30, 31 and the LDSPserver 60. DCOM is designed for use across multiple network transports,including Internet protocols such as TCP and HTTP, and enables ComponentObject Model (COM) software components to communicate directly over apacket network. If a packet network connection is not found, a packetnetwork connection is automatically established by desktop application40 at step 135, before proceeding to step 140. A packet networkconnection may be established in step 135 in accordance with any knownmethod. After the appropriate connections are established (steps 135,140), desktop application 40 sends an encrypted logon informationmessage to the LDSP server 60 (step 145). The logon informationcontained in this message is retrieved from storage by application 40 ifthe compulsory logon feature is disabled.

FIG. 4 b illustrates the principal steps performed at LDSP server 60 inresponse to a call connection request initiated by desktop application40. An encrypted logon information message is received from application40 and subsequently decrypted and verified by the LDSP server 60 (step150). Decryption and verification of a logon information message may beperformed in any number of ways known in the art for maintaining asecure system accessible only to registered users. Verification may beperformed by LDSP server 60 by checking user identification informationcontained in the logon information message against user identificationinformation stored in a user database 250 (FIG. 3) associated with theLDSP server 60. A user's identification information is preferably alsoprocessed to identify a corresponding account number and the status ofthat account is determined. An account database storing accountinformation corresponding to each registered user is preferablymaintained. If the user identification validation performed at step 150fails, a series of retry steps may be initiated (steps 160-164), if theLDSP server 60 is configured to permit logon retries as determined atstep 158. If so, a retry message is sent to desktop application 40 (step160) and a retry counter is incremented (step 162). Unless a maximumnumber of retries has not been attempted (step 164), another logonattempt is made from desktop application 40 and LDSP server 60 returnsto step 150. If a predetermined maximum number of retry steps areperformed without success, the call connection request is denied (step166), and a denied request message is sent to application 40 (step 168).A denied request message may specify why a request was denied, forexample, “user identification information not recognized”, “credit cardnot accepted” or “credit limit exceeded”. When a denied request messageis generated and sent to application 40, the call connection processingprocedure of the LDSP server is terminated (step 170).

If the logon information in step 155 is determined to be valid, theprocedure for establishing a call connection continues with the LDSPserver 60 sending a message instructing application 40 proceed with therequest (step 175). In response to this message, at step 180, callrequest information is received from desktop application 40 containingthe call request information entered in step 110. Upon receipt at LDSPserver 60, the call request information is reformatted and processed(step 185). The processed information is sent via a call connectioninformation packet to a call controller 70 (step 190). The callcontroller 70 processes the call connection information packet and sendsinstructions to a TDM switch 80 through which the call connection willbe established (step 192). The communications between the LDSP server 60and the call controller 70 are preferably effected using a protocol suchas PPTP (point-to-point tunneling protocol) to increase the level ofsecurity. In addition, call controller 70 is preferably provided withsoftware filters well known in the art to ensure that only packetsoriginating from a recognized LDSP server are accepted as valid callconnection packets. A notification or call status message is generatedby the LDSP server 60 and sent to desktop application 40 at step 194,indicating that the call connection is in progress.

FIG. 4 c illustrates the principal steps preferably performed by desktopapplication 40 at a user workstation in response to a call statusmessage sent in step 194. The call status message is received by desktopapplication 40 and a call status message displayed in an informationdisplay window 26 (FIG. 2) provided in GUI 50 (step 195). Desktopapplication 40 then proceeds to release the communication connectionestablished between the workstation and the LDSP server 60 (step 196)and determines (step 197) whether a packet network connection wasestablished at step 130. If a packet network connection was notestablished by the desktop application 40, no further action is takenand the procedure ends at step 199. Alternatively, if it is determinedthat a packet network connection was established by the desktopapplication at step 130, then that connection is closed (step 198), andthe procedure is ended (step 199).

After the call request information has been provided to the TDM tollswitch 80 (FIG. 3) by call controller 70, a call connection isestablished between call stations 10, 20 in accordance with proceduresdescribed in applicant's copending U.S. patent application Ser. No.08/811,099 filed on Mar. 3, 1997, the specification of which isincorporated herein by reference. That is, once the required callstation information has been provided, call controller 70 instructs theTDM toll switch 80 to place a first call to the calling party, a secondcall to the called party, and to conference the two calls together afterthe first call is answered.

According to a preferred embodiment of the invention, bi-directionalupdates to directory files stored on the user workstation and the LDSPserver, are performed to enable traveling users to have theirdirectories available when accessing the service using a web browserinterface. FIGS. 5 a, 5 b and 5 c illustrate the steps involved in abi-directional directory update procedure in accordance with theinvention. Directory files stored on a user workstation are synchronizedwith corresponding server side directory files each time eitherdirectory is updated to ensure that the user's directory files aremirrored in each location. This permits a user to access the mostup-to-date records from his or her workstation as well as from a remoteaccess to the web server component 65. When a directory update is on theLDSP server 60 by a web user or an administrator, a synchronizationfeature is automatically enabled to ensure that the corresponding clientside directory files are updated on next logon from the user'sworkstation 30.

FIG. 5 a illustrates the principal steps in a preferred method forupdating directory files from a user's workstation. Desktop application40 preferably includes features to enable editing of directory fileslocally stored on a user's workstation. Updates to a user's directorymay be made by selecting a directory edit feature from GUI 50, andentering the appropriate directory information (step 405). After theupdated information has been entered, a synchronization feature may beselected from GUI 50 to initiate the directory update procedure (step410). This procedure includes establishing a connection with LDSP server60, as described above with respect to completing a call request, toobtain authorization and to synchronize the LDSP server directory withthe desktop application directory files that were updated. At step 415,a connection with LDSP server 60 is initiated by determining if acompulsory logon feature is enabled. If enabled, a user must input hisor her logon information to proceed (step 420). Otherwise, application40 proceeds to determine if a packet network connection is available(step 425). If a packet network connection is available, desktopapplication 40 establishes a communication connection with the LDSPserver 60 (step 425). Otherwise, the packet network connection isestablished at step 430, before step 435 can be performed. With therequired connections established, desktop application 40 sends encryptedlogon information to the LDSP server (step 440).

As shown in FIG. 5 b, at step 445, logon information message isreceived, decrypted and verified by LDSP server 60. At step 450, LDSPserver 60 determines if the logon information is valid. If not, a seriesof retry steps may be executed, as described above, and illustrated inFIG. 4 b. If the logon information is determined to be valid, a messageinstructing the desktop application 40 to proceed is sent at step 455.In response to a message sent in step 455, a directory update requestmessage is returned to the LDSP server at step 460, based on the updatedinformation provided to desktop application 40 in step 405. At step 465,it is determined whether the directory update request is valid. Thisdetermination will be based on the level of authorization identified forthe particular user, as well as the nature of the directory informationto be updated. For example, a user may be restricted to requesting callconnections within an assigned calling area or areas, having designatedarea codes. If an attempt is made to update a user's directory files toinclude call station information which is outside a user's assignedcalling area, then the update request is denied, and a correspondingmessage is sent to desktop application 40 (step 470). In response to amessage received from LDSP server 60 denying an update request, aconnection release process is performed by desktop application 40, asillustrated by steps 490 to 510, of FIG. 5 c. If an update request isvalid, corresponding directory files on the LDSP server 60 are updatedand stored (step 475). When the LDSP server directory files are updatedin response to an update request, an approval message is sent from theserver to the user workstation (step 480).

FIG. 5 c illustrates the principal steps performed by desktopapplication 40 in response to receipt of the approval message sent bythe LDSP server 60. On receipt of the message sent in step 480, theclient side directory files are updated accordingly and stored ondesktop application 40 (step 485). Following the update procedure ofstep 485, the communication connection with the LDSP server 60 isreleased (step 490). It is then determined, at step 495, whether apacket network connection was established for the purpose of sending theupdate request (step 430). If so, the connection is closed (step 500)and the update procedure is ended (step 510). Likewise, if an updatedenied message is received at step 470 in response to the directoryupdate request, the procedure jumps to step 490 and the necessaryconnections are released and closed, to complete the procedure (steps495-510).

With each logon procedure described above with reference to FIGS. 4 a-c,a directory update check may be performed after the logon informationhas been verified, to determine if directory files updated on the LDSPserver 60 need to be sent to the user workstation for incorporation intodirectories used by desktop application 40.

The system of the present invention provides a desktop application 40adapted to communicate with an LDSP server 60 to establish long distancecall connections between call stations over the PSTN. Desktopapplication 40 provides a registered LDSP user with a convenient andefficient tool for initiating a call request. The desktop application 40enables a call connection request to be quickly initiated from a userworkstation, permitting a user to perform other tasks while waiting fornotification from a call station that a call connection has beenestablished.

The embodiments of the invention described above are intended to beexemplary only. The scope of the invention is therefore intended to belimited solely by the scope of the appended claims.

1. A method of completing a call connection over the public switchedtelephone network (PSTN) from a desktop application residing on acomputer workstation, said method comprising: a) accepting call requestinformation input by a user using an interface provided by the desktopapplication; b) formulating a call connection request message based onsaid information accepted from said user; and c) forwarding the callconnection request message over a connection established between thedesktop application and a long distance service provider server toeffect call completion between at least two call stations by determiningwhether a packet network connection is available to the workstation and,if the packet network is not available, establishing the packet networkconnection prior to sending the request, and said connection establishedbetween said workstation and said long distance service provider serverincludes the packet network connection and a server-specificcommunication connection.
 2. The method as claimed in claim 1, whereinformulating a call connection request message is initiated when the userenables an application feature available on said interface.
 3. Themethod as claimed in claim 1, wherein inputting call request informationincludes selecting call station information from a directory stored onsaid workstation.
 4. The method as claimed in claim in 2, wherein saidapplication feature prompts the desktop application to retrievepredetermined call station information and forward said call connectionrequest message.
 5. The method as claimed in claim 3, wherein said callstation information is stored in said directory in association with acall party name.
 6. The method as claimed in claim 1, wherein saidserver-specific communication connection uses Distributed ComponentObject Model (DCOM) protocol.
 7. The method as claimed in claim 1,further comprising a step of releasing at least the'server-specificconnection between said long distance service provider server and saiddesktop application when a call status message indicating that the callrequest is being processed, is received from said long distance serviceprovider server.
 8. The method as claimed in claim 7, further comprisinga step of releasing the packet network connection if it is determinedthat the packet network connection was established by said desktopapplication.
 9. The method as claimed in claim 1, wherein forwarding thecall connection request message includes a step of forwarding a firstmessage containing user identification information.
 10. The method asclaimed in claim 9, further comprising steps of: a) receiving aconfirmation message from said long distance service provider serverconfirming said user identification information; and b) forwarding acall request message containing call station information.
 11. A methodof completing a call connection over the public switched telephonenetwork (PSTN) from a desktop application operating locally on acomputer workstation having a communication connection with a longdistance service provider server, said method comprising steps of: a)receiving a call connection request message at said long distanceservice provider server, sent from said desktop application via a packetnetwork connection and a server-specific communication connectionestablished by said desktop application between said computerworkstation and said long distance service provider; b) verifying useridentification information contained in said message; c) processing saidcall connection request message to enable a call connection to beestablished between at least two call stations based on call stationinformation contained in said message; and d) sending a notificationmessage to the desktop application, to notify the desktop applicationthat said call connection is in progress.
 12. The method as claimed inclaim 11, wherein the step of processing said call connection requestmessage further comprises steps of: a) formulating a call request packetbased on said call station information; and b) forwarding said callrequest packet to a call controller connected to a time divisionmultiplexed (TDM) switch, for effecting a call connection between callstations identified in said call connection request message.
 13. Amethod of completing a call connection as claimed in claim 11, whereinsaid step of receiving a call connection request message furthercomprises steps of: a) receiving a first message from said desktopapplication via the server-specific communication connection, the firstmessage containing user identification information; b) sending aconfirmation message to said desktop application via the server-specificcommunication connection, the confirmation message authorizing said useridentification information; and c) receiving a second message from saiddesktop application via the server-specific communication connection,the second message containing call station information identifying callstation locations to be joined by a call connection.
 14. A system forestablishing a long distance call connection between call stations overthe PSTN, said system comprising: a) a long distance service provider(LDSP) server for establishing a call connection between at least twocall stations in response to a call connection request message sent froma registered user; b) a desktop application operating locally on a userworkstation to accept input from said registered user definingparameters for establishing said call connection, and communicate saidparameters to said long distance service provider server in the form ofa call connection request message; and c) a call controller forreceiving a call connection information packet from said LDSP server,based on said call connection request message and instruct a timedivision multiplexed (TDM) switch to establish a call connection betweensaid at least two call stations; d) means for establishing acommunication connection with said LDSP server for communicating saidcall connection request message, said means for establishing thecommunication connection including means for determining if an existingpacket network connection is available, and if not, establishing apacket network connection.
 15. The system as claimed in claim 14,wherein said means for establishing a communication connection furthercomprises means for establishing a communication connection compatiblewith said LDSP server.
 16. The system as claimed in claim 15, whereinsaid communication connection is established using a DistributedComponent Object Model (DCOM) protocols.
 17. The system as claimed inclaim 14, wherein said desktop application supports a call stationdirectory.
 18. The system as claimed in claim 14, wherein said desktopapplication supports a programmable speed dial feature.
 19. The systemas claimed in claim 14, wherein said desktop application furtherincludes means for closing said packet network connection andcommunication connections when a message notifying that the callconnection is in progress is received from said LDSP server.
 20. Thesystem as claimed in claim 14, wherein said desktop application furthercomprises means for encrypting call connection request messages.
 21. Asystem for establishing a long distance call connection between callstations over the PSTN, said system comprising: a) a long distanceservice provider (LDSP) server for establishing a call connectionbetween at least two call stations in response to a call connectionrequest message sent from a registered user, said LDSP server furthercomprising a transaction component, a call connection component and aweb server component; b) a desktop application operating locally on auser workstation to accept input from said registered user definingparameters for establishing said call connection, and communicate saidparameters to said long distance service provider in the form of a callconnection request message; and c) a call controller for receiving acall connection information packet from said LDSP server, based on saidcall connection request message and instruct a time division multiplexed(TDM) switch to establish a call connection between said at least twocall stations.
 22. The system as claimed in claim 21, wherein saidtransaction component further comprises: a) means for receiving a callconnection request message from said desktop application; b) means fordecrypting said call connection request message; and c) means forformatting said call connection request message for processing by saidcall connection component.
 23. The system as claimed in claim.22,wherein said desktop application further comprises means for enablingcall connection features on the LDSP web server.
 24. The system asclaimed in claim 23, wherein said means for enabling call connectionfeatures includes enabling a web browser application on said userworkstation.
 25. A system for establishing a long distance callconnection between call stations over the PSTN, said system comprising:a) a long distance service provider (LDSP) server for establishing acall connection between at least two call stations in response to a callconnection request message sent from a registered user, said LDSP serverfurther comprising a user database; b) a user workstation that acceptsinput from said registered user defining parameters for establishingsaid call connection, determines if a packet network connection to theLDSP server is available and establishes a packet network connection inthe LDSP server if one is not available, and communicates saidparameters to said long distance service provider server in the form ofa call connection request message sent over the packet networkconnection to the LDSP server; and c) a call controller for receiving acall connection information packet from said LDSP server, based on saidcall connection request message and instruct a time division multiplexed(TDM) switch to establish a call connection between said at least twocall stations.
 26. The system as claimed in claim 25, wherein said userdatabase stores user directory files.
 27. The system as claimed in claim26, further comprising means for synchronizing directory files residingon the user workstation with directory files stored in the LDSP userdatabase.
 28. The system as claimed in claim 26, further comprising aweb browser application used to update the user directory files, andmeans for automatically performing a corresponding update to directoryfiles residing on the user workstation when a communication connectionwith said LDSP server is established from said desktop application. 29.The system as claimed in claim 25, wherein said user database storesuser account information.
 30. A user workstation for establishing acommunication connection with a long distance service provider a (LDSP)server comprising: a) means for accepting call connection informationinput by a user; b) means for formulating a call connection requestmessage based on said call connection information; c) means fordetermining if an existing packet network connection is available; d)means for establishing a packet network connection if an existing packetnetwork connection is not available to support said communicationconnection; and e) means for sending said call connection requestmessage to said LDSP server to establish a call connection between atleast two call stations.
 31. The user workstation as claimed in claim30, wherein said means for accepting call connection information is agraphical user interface.
 32. The user workstation as claimed in claim30, wherein said means for sending said call connection request messagefurther comprises means for sending user identification information tosaid LDSP server for verification.
 33. The user workstation as claimedin claim 30, further comprising means for closing said communicationconnection after a call connection is initiated.
 34. A computer-readablememory storing program instructions for instantiating the user'sworkstation as claimed in claim
 30. 35. The user workstation as claimedin claim 30 further comprising: a) means for updating a call directorysupported by said desktop application; and b) means for effecting acorresponding update to a user directory supported by said LDSP server.